package main

import (
	"fmt"
	"unsafe"
)

func main() {
	fmt.Println("hello golang")

	var aaa = 19

	fmt.Println(aaa)

	//定义一个整数类型 测试超出范围 -127-128  符号
	var num1 int8 = 120
	fmt.Println(num1)

	//定义一个整数类型 测试超出范围 0-255  无符号
	var num2 uint8 = 255
	fmt.Println(num2)

	//定义一个整数类型 输出的类型 printf 然后输出 字节数 unsafe
	var num3 = 200
	fmt.Printf("num3的类型: %T", num3)
	fmt.Println()
	fmt.Println(unsafe.Sizeof(num3))

	//定义学生的年龄 类型
	var age byte = 18
	fmt.Println(age)

	//定义浮点数类型的数据
	var df float32 = -3.14
	fmt.Println(df)
	//定义可以表示正浮点数
	var df1 float32 = 314e+2
	fmt.Println(df1)

	var df2 float32 = 314e+2
	fmt.Println(df2)

	//练习转义字符
	fmt.Println("aaa\naaa")

	//退格
	fmt.Println("aaa\bbaaa")

	//\r 光标的会到开始位
	fmt.Println("aaa\rbaaa")

	// \t 制表符 8个空格   会补全
	fmt.Println("aaa\tbaaa")

	fmt.Println("aaabaaa")

	//true 和 false 对比
	var flag01 bool = true
	fmt.Println(flag01)

	var flag02 bool = false
	fmt.Println(flag02)

	var flag03 bool = 5 < 9
	fmt.Println(flag03)

	//定义一个字符串
	var s1 string = "你好全面拥抱golang"
	fmt.Println(s1)

	// /字符串是不可变的 值的是字符串一但定义好 其中的字符的值不能改变
	var s2 string = "abs"
	fmt.Println(s2)

}
